LVS的NAT设置

1.环境说明

        三台服务器一台作为 director ,两台作为 real server ,Diretcor 有一个外网 ip (192.168.119.110)和一个内网 ip(192.168.0.67),两个 real server 上只有内网 ip (192.168.0.66)和(192.168.0.65)并且需要把两个 real server 的内网网关设置为 diretcor 的内网 ip (192.168.0.67)

        更改 hostname

        dir 192.168.0.67

        rs1 192.168.0.66

        rs2 192.168.0.65

2.安装和配置

        两个 real server 上都安装 nginx 服务

1
yum install -y nginx

        director 上安装 ipvsadm

1
[root@dir ~]# yum install -y ipvsadm

        Director 上编辑 nat 实现脚本

1
[root@dir ~]# vim /usr/local/sbin/lvs_nat.sh

        写入一下内容

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#! /bin/bash
# director 服务器上开启路由转发功能:
echo 1 > /proc/sys/net/ipv4/ip_forward
# 关闭icmp的重定向
echo 0 > /proc/sys/net/ipv4/conf/all/send_redirects
echo 0 > /proc/sys/net/ipv4/conf/default/send_redirects
echo 0 > /proc/sys/net/ipv4/conf/eth0/send_redirects
echo 0 > /proc/sys/net/ipv4/conf/eth1/send_redirects
# director 设置nat防火墙
iptables -t nat -F
iptables -t nat -X
iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -j MASQUERADE
# director设置ipvsadm
IPVSADM='/sbin/ipvsadm'
$IPVSADM -C
$IPVSADM -A -t 192.168.119.110:80 -s lc -p 300
$IPVSADM -a -t 192.168.119.110:80 -r 192.168.0.66:80 -m -w 1
$IPVSADM -a -t 192.168.119.110:80 -r 192.168.0.65:80 -m -w 1

        保存后,在 Director 上直接运行这个脚本就可以完成 lvs/nat 的配置了。

1
[root@dir ~]# sh /usr/local/sbin/lvs_nat.sh

3.测试

        通过浏览器测试两台机器上的 web 内容 http://192.168.119.110 。为了区分开,可以把 nginx 的默认页修改一下

        在 rs1 上执行

1
[root@rs1 ~]# echo "rs1rs1" > /usr/share/nginx/html/index.html

        在 rs2 上执行

1
[root@rs2 ~]# echo "rs2rs2" > /usr/share/nginx/html/index.html

        注意,切记一定要在两台 rs

        刷新一下

        或者使用 curl